package com.cn.serverline.lineicp.productionLine.param;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 工序编辑参数
 *
 * @author Gmr
 * @since 2024/7/30
 */
@Data
public class ProductionProcessesEditParam {

	/**
	 * 主键
	 */
	@ApiModelProperty(value = "主键", required = true)
	@ChineseDescription("主键")
	@JsonSerialize(using= ToStringSerializer.class)
	@NotNull(message = "主键不能为空")
	private Long id;

	/**
	 * 工序代号
	 */
	@ApiModelProperty(value = "工序代号", required = true)
	@ChineseDescription("工序代号")
	@NotBlank(message = "工序代号不能为空")
	private String processCode;

	/**
	 * 分厂代号
	 */
	@ApiModelProperty(value = "分厂代号", required = true)
	@ChineseDescription("分厂代号")
	@NotBlank(message = "分厂代号不能为空")
	private String factoryCode;

	/**
	 * 工序名称
	 */
	@ApiModelProperty(value = "工序名称", required = true)
	@ChineseDescription("工序名称")
	@NotBlank(message = "工序名称不能为空")
	private String processName;

	/**
	 * 单件工时
	 */
	@ApiModelProperty(value = "单件工时", required = true)
	@ChineseDescription("单件工时")
	@JsonSerialize(using= ToStringSerializer.class)
	@NotNull(message = "单件工时不能为空")
	private Long unitTime;

	/**
	 * 工人技术等级
	 */
	@ApiModelProperty(value = "工人技术等级", required = true)
	@ChineseDescription("工人技术等级")
	@NotBlank(message = "工人技术等级不能为空")
	private String workerSkillLevel;
}
